/*
 * XML Type:  SequenceNumType
 * Namespace: http://docs.oasis-open.org/wsrm/2004/06/ws-reliability-1.1.xsd
 * Java type: cgl.narada.wsinfra.schemas.wsr.SequenceNumType
 *
 * Automatically generated - do not modify.
 */
package cgl.narada.wsinfra.schemas.wsr.impl;
/**
 * An XML SequenceNumType(@http://docs.oasis-open.org/wsrm/2004/06/ws-reliability-1.1.xsd).
 *
 * This is a complex type.
 */
public class SequenceNumTypeImpl extends cgl.narada.wsinfra.schemas.wsr.impl.EmptyTypeImpl implements cgl.narada.wsinfra.schemas.wsr.SequenceNumType
{
    
    public SequenceNumTypeImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName NUMBER$0 = 
        new javax.xml.namespace.QName("", "number");
    private static final javax.xml.namespace.QName LAST$2 = 
        new javax.xml.namespace.QName("", "last");
    private static final javax.xml.namespace.QName GROUPEXPIRYTIME$4 = 
        new javax.xml.namespace.QName("", "groupExpiryTime");
    private static final javax.xml.namespace.QName GROUPMAXIDLEDURATION$6 = 
        new javax.xml.namespace.QName("", "groupMaxIdleDuration");
    
    
    /**
     * Gets the "number" attribute
     */
    public java.math.BigInteger getNumber()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NUMBER$0);
            if (target == null)
            {
                return null;
            }
            return target.getBigIntegerValue();
        }
    }
    
    /**
     * Gets (as xml) the "number" attribute
     */
    public org.apache.xmlbeans.XmlUnsignedLong xgetNumber()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlUnsignedLong target = null;
            target = (org.apache.xmlbeans.XmlUnsignedLong)get_store().find_attribute_user(NUMBER$0);
            return target;
        }
    }
    
    /**
     * Sets the "number" attribute
     */
    public void setNumber(java.math.BigInteger number)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NUMBER$0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(NUMBER$0);
            }
            target.setBigIntegerValue(number);
        }
    }
    
    /**
     * Sets (as xml) the "number" attribute
     */
    public void xsetNumber(org.apache.xmlbeans.XmlUnsignedLong number)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlUnsignedLong target = null;
            target = (org.apache.xmlbeans.XmlUnsignedLong)get_store().find_attribute_user(NUMBER$0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlUnsignedLong)get_store().add_attribute_user(NUMBER$0);
            }
            target.set(number);
        }
    }
    
    /**
     * Gets the "last" attribute
     */
    public boolean getLast()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LAST$2);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_default_attribute_value(LAST$2);
            }
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "last" attribute
     */
    public org.apache.xmlbeans.XmlBoolean xgetLast()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(LAST$2);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_default_attribute_value(LAST$2);
            }
            return target;
        }
    }
    
    /**
     * True if has "last" attribute
     */
    public boolean isSetLast()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(LAST$2) != null;
        }
    }
    
    /**
     * Sets the "last" attribute
     */
    public void setLast(boolean last)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LAST$2);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(LAST$2);
            }
            target.setBooleanValue(last);
        }
    }
    
    /**
     * Sets (as xml) the "last" attribute
     */
    public void xsetLast(org.apache.xmlbeans.XmlBoolean last)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(LAST$2);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_attribute_user(LAST$2);
            }
            target.set(last);
        }
    }
    
    /**
     * Unsets the "last" attribute
     */
    public void unsetLast()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(LAST$2);
        }
    }
    
    /**
     * Gets the "groupExpiryTime" attribute
     */
    public java.util.Calendar getGroupExpiryTime()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(GROUPEXPIRYTIME$4);
            if (target == null)
            {
                return null;
            }
            return target.getCalendarValue();
        }
    }
    
    /**
     * Gets (as xml) the "groupExpiryTime" attribute
     */
    public org.apache.xmlbeans.XmlDateTime xgetGroupExpiryTime()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlDateTime target = null;
            target = (org.apache.xmlbeans.XmlDateTime)get_store().find_attribute_user(GROUPEXPIRYTIME$4);
            return target;
        }
    }
    
    /**
     * True if has "groupExpiryTime" attribute
     */
    public boolean isSetGroupExpiryTime()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(GROUPEXPIRYTIME$4) != null;
        }
    }
    
    /**
     * Sets the "groupExpiryTime" attribute
     */
    public void setGroupExpiryTime(java.util.Calendar groupExpiryTime)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(GROUPEXPIRYTIME$4);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(GROUPEXPIRYTIME$4);
            }
            target.setCalendarValue(groupExpiryTime);
        }
    }
    
    /**
     * Sets (as xml) the "groupExpiryTime" attribute
     */
    public void xsetGroupExpiryTime(org.apache.xmlbeans.XmlDateTime groupExpiryTime)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlDateTime target = null;
            target = (org.apache.xmlbeans.XmlDateTime)get_store().find_attribute_user(GROUPEXPIRYTIME$4);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlDateTime)get_store().add_attribute_user(GROUPEXPIRYTIME$4);
            }
            target.set(groupExpiryTime);
        }
    }
    
    /**
     * Unsets the "groupExpiryTime" attribute
     */
    public void unsetGroupExpiryTime()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(GROUPEXPIRYTIME$4);
        }
    }
    
    /**
     * Gets the "groupMaxIdleDuration" attribute
     */
    public org.apache.xmlbeans.GDuration getGroupMaxIdleDuration()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(GROUPMAXIDLEDURATION$6);
            if (target == null)
            {
                return null;
            }
            return target.getGDurationValue();
        }
    }
    
    /**
     * Gets (as xml) the "groupMaxIdleDuration" attribute
     */
    public org.apache.xmlbeans.XmlDuration xgetGroupMaxIdleDuration()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlDuration target = null;
            target = (org.apache.xmlbeans.XmlDuration)get_store().find_attribute_user(GROUPMAXIDLEDURATION$6);
            return target;
        }
    }
    
    /**
     * True if has "groupMaxIdleDuration" attribute
     */
    public boolean isSetGroupMaxIdleDuration()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(GROUPMAXIDLEDURATION$6) != null;
        }
    }
    
    /**
     * Sets the "groupMaxIdleDuration" attribute
     */
    public void setGroupMaxIdleDuration(org.apache.xmlbeans.GDuration groupMaxIdleDuration)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(GROUPMAXIDLEDURATION$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(GROUPMAXIDLEDURATION$6);
            }
            target.setGDurationValue(groupMaxIdleDuration);
        }
    }
    
    /**
     * Sets (as xml) the "groupMaxIdleDuration" attribute
     */
    public void xsetGroupMaxIdleDuration(org.apache.xmlbeans.XmlDuration groupMaxIdleDuration)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlDuration target = null;
            target = (org.apache.xmlbeans.XmlDuration)get_store().find_attribute_user(GROUPMAXIDLEDURATION$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlDuration)get_store().add_attribute_user(GROUPMAXIDLEDURATION$6);
            }
            target.set(groupMaxIdleDuration);
        }
    }
    
    /**
     * Unsets the "groupMaxIdleDuration" attribute
     */
    public void unsetGroupMaxIdleDuration()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(GROUPMAXIDLEDURATION$6);
        }
    }
}
